package cn.yunhe.java.service;

import cn.yunhe.java.dto.MerchantDTO;
import cn.yunhe.java.dto.StaffDTO;
import cn.yunhe.java.dto.StoreDTO;
import com.huiminpay.common.cache.domain.BusinessException;
public interface IMerchantService {
    /**
     * 根据ID查询商户信息
     * @param merchantId
     * @return
     */
    MerchantDTO queryMerchantById(Long merchantId);


    /**
     * 商户注册
     * @return
     */
    MerchantDTO createMerchant(MerchantDTO merchantDTO) throws BusinessException;

    /**
     * 资质申请接口
     * @param merchantId 商户id
     * @param merchantDTO 资质申请的信息
     * @throws BusinessException
     */
    void applyMerchant(Long merchantId,MerchantDTO merchantDTO) throws BusinessException;

    /**
     * 根据租户id查询租户信息
     * @param tenantId
     * @return
     */
    MerchantDTO queryMerchantByTenantId(Long tenantId) throws BusinessException;

    /**
     * 商户下新增门店
     * @param storeDTO
     */
    StoreDTO createStore(StoreDTO storeDTO) throws BusinessException;

    /**
     * 商户新增员工
        * @param staffDTO
        */
    StaffDTO createStaff(StaffDTO staffDTO) throws BusinessException;

    /**
     * 为门店设置管理员
     * @param storeId
     * @param staffId
     * @throws BusinessException
     */
    void bindStaffToStore(Long storeId, Long staffId) throws BusinessException;



}
